// pages/my/personalData/index/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    userInfo: {},       // 用户信息
    avatarUrl: '',      // 头像
    userName: '',       // 昵称
    mobile: '',         // 绑定的手机号
    code: '',           // 验证码
    userVerifyKey: '',  // 密钥

    imgStatus: false,
  },
  // 退出登录
  signOut () {
    wx.showModal({
      title: '提示',
      confirmText:"确定", // 默认是 确定
      content: '是否退出登录？',
      success: res => {
        if (res.confirm) {
          wx.clearStorageSync();
          wx.reLaunch({
            url: '/pages/login/index'
          })
        }
      }
    });
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    var userInfo = wx.getStorageSync('userInfo');
    
    if(userInfo){
      this.setData({
        userInfo: userInfo,
        avatarUrl: userInfo.avatar,
        userName: userInfo.userName,
      })

      console.log(this.data.avatarUrl)
    }
  },
  // 修改名字
  modifyName(e){
    let userName = e.detail.value
    console.log(e.detail.value)
    this.setData({ userName })
  },
  // 修改图片
  onChooseAvatar(e) {
    const { avatarUrl } = e.detail 
    this.setData({
      avatarUrl,
      imgStatus: true
    })
  },
  // 去绑定手机号
  goBindingMobile(){
    wx.navigateTo({
      url: '/pages/my/personalData/bindingMobile/index',
    })
  },
  // 确认修改信息
  onConfirm(){
    let { mobile } = this.data.userInfo
    let openId = wx.getStorageSync('openId');
    let avatar = this.data.avatarUrl    // 头像
    let userName = this.data.userName   // 昵称
    let Random = Number(new Date())
    console.log(avatar,userName)
    if(avatar == ''){wx.showToast({ icon: 'none',title: '请选择头像'}); return}
    if(userName == ''){wx.showToast({ icon: 'none',title: '请输入昵称'}); return}
    let code = this.data.code                   //  验证码
    let userVerifyKey = this.data.userVerifyKey // 密钥


    if(userVerifyKey && code){
      wx.showToast({
        title: '提交中',
        icon: 'loading',
        duration: 200000000,
        mask:true
      })

      if(this.data.imgStatus){
        wx.cloud.uploadFile({
          cloudPath: `example${Random}.png`, // 对象存储路径，根路径直接填文件名，文件夹例子 test/文件名，不要 / 开头    名字弄成活得 唯一标识拼接
          filePath: avatar, // 微信本地文件，通过选择图片，聊天文件等接口获取
          config: {
            env: 'prod-0g38oh8hf0e4d5ac' // 需要替换成自己的微信云托管环境ID
          },
          success: res => {
            console.log(res.fileID)
            let fileID = res.fileID
            wx.cloud.getTempFileURL({
              fileList: [{
                fileID, // 对象存储文件 ID 列表，最多50个，从上传文件接口或者控制台获取
                maxAge: 86400 , // 有效期时长，单位秒，默认86400
              }]
            }).then(res => {
              console.log(res.fileList,res.fileList[0].tempFileURL)
              wx.cloud.callContainer({
                config: {
                  env: 'prod-0g38oh8hf0e4d5ac', 
                },
                path: '/v1/user/update', 
                method: 'POST',
                header: {
                  'X-WX-SERVICE': 'springboot-069k', 
                },
                data: {
                  avatar: res.fileList[0].tempFileURL,
                  mobile,
                  userName,
                  userVerifyKey,    //  安全验证秘钥 84a76e86-7b89-4731-ae11-5332c8bf2448
                  userVerifyValue: code,  //  安全验证值 170961
                }
              }).then(res => {
                wx.hideToast()
                console.log(res)
                if(res.data.code == 1){
                  wx.clearStorage()
                  wx.showToast({ icon: 'none',title: '操作成功' });
                  // wx.setStorageSync('userInfo', res.data.data);
                  // wx.setStorageSync('token', res.data.data.mobile);
                  // wx.setStorageSync('openId', res.data.openId);
                  setTimeout(res=>{
                    wx.reLaunch({
                      url: '/pages/home/index'
                    })
                  },500)
                }
              })
            }).catch(error => {
              console.error(err)
            })
          },
          fail: err => {
            console.error(err)
          }
        })
      }else{
        wx.cloud.callContainer({
          config: {
            env: 'prod-0g38oh8hf0e4d5ac', 
          },
          path: '/v1/user/update', 
          method: 'POST',
          header: {
            'X-WX-SERVICE': 'springboot-069k',
          },
          data: {
            avatar,
            mobile,
            userName,
            userVerifyKey,    //  安全验证秘钥 84a76e86-7b89-4731-ae11-5332c8bf2448
            userVerifyValue: code,  //  安全验证值 170961
          }
        }).then(res => {
          wx.hideToast()
          console.log(res)
          if(res.data.code == 1){
            wx.clearStorage()
            wx.showToast({ icon: 'none',title: '操作成功' });
            // wx.setStorageSync('userInfo', res.data.data);
            // wx.setStorageSync('token', res.data.data.mobile);
            // wx.setStorageSync('openId', res.data.openId);
            setTimeout(res=>{
              wx.reLaunch({
                url: '/pages/home/index'
              })
            },500)
          }else{
            wx.showToast({ icon: 'none',title: res.data.errorMsg });
          }
        })
      }
    }else{
      wx.showToast({ icon: 'none',title: '设置资料需要验证手机'});
      setTimeout(res=>{
        this.goBindingMobile()
      },1000)
    }

    


  },
  // 触发绑定手机
  bindingMobile(){
   let userInfo = this.data.userInfo
   userInfo.mobile = this.data.mobile
   this.setData({ userInfo })
  }
})